Byzantine Fault Tolerance in Long-Lived Systems

نویسندگان

  • Rodrigo Rodrigues
  • Barbara Liskov
چکیده

Byzantine fault tolerance comprises a set of techniques for building fault-tolerant systems where no assumptions are made about the behavior of faulty nodes. This makes Byzantine-fault-tolerant systems particularly attractive as a defense against malicious attacks that may cause faulty nodes to exhibit arbitrary behavior. A service that tolerates Byzantine failures (e.g., [1, 8]) must store the service state at a set of replicas. The replicas carry out a protocol that tolerates failures of a subset of them. Usually the system contains 3f + 1 replicas, and the protocols guarantee correct behavior provided no more than f of them are faulty at the same moment. These systems do well provided the assumption about the number of simultaneous failures is valid. But if more than f replicas fail, the system fails and no guarantees can be made about its behavior. The question we address in this paper is: what can be done to increase the probability that no more than f replicas are faulty simultaneously? We address this question using the following simple model. For any attack that could be mounted, there is an attack window, A; this is the length of time needed to compromise more than f replicas using that attack. Different attacks have different attack windows. Some attacks require a very small A. For example, if the code on the replicas has a deterministic software bug that allows an attacker to exploit a buffer overrun, then an attacker can launch such legal calls simultaneously and bring the system down in a very short time. Other attacks require more time. For example, an attack that relies on a non-deterministic error might take quite a while. A system has a window of vulnerability, W , during which it allows an adversary to mount an attack. We would like to have W < A since this means that the system cannot be compromised by an attack. This condition is unlikely to be satisfied in a long-lived system with no defenses against the accumulation of faulty nodes; in this case W is infinite (or at least equal to the system lifetime) and therefore we can expect that ultimately an attack will succeed. This paper proposes counter-measures that can be deployed as part of a replicated system to reduce the size of W , and thus reduce the class of attacks to which the system

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Consensus When All Processes May Be Byzantine for Some Time

Among all classes of faults, Byzantine faults form the most general modeling of value faults. Traditionally, in the Byzantine fault model, faults are statically attributed to a set of up to t processes. This, however, implies that in this model a process at which a value fault occurs is forever “stigmatized” as being Byzantine, an assumption that might not be acceptable for long-lived systems, ...

متن کامل

Rosebud: A Scalable Byzantine-Fault-Tolerant Storage Architecture

This paper presents Rosebud, a new Byzantine faulttolerant storage architecture designed to be highly scalable and deployable in the wide-area. To support massive amounts of data, we need to partition the data among the nodes. To support long-lived operation, we need to allow the set of nodes in the system to change. To our knowledge, we are the first to present a complete design and a running ...

متن کامل

Abstracting out Byzantine Behavior

ing out Byzantine Behavior Peter Druschel, Andreas Haeberlen, Petr Kouznetsov Max Planck Institute for Software Systems MPI-SWS, Stuhlsatzenhausweg 85, 66123 Saarbrücken, Germany {druschel,ahae,pkouznet}@mpi-sws.mpg.de Abstract. Many distributed systems are designed to tolerate the presence of Byzantine failures: an individual process may arbitrarily deviate Many distributed systems are designe...

متن کامل

Byzantine Fault Tolerance Can Be Fast

Byzantine fault tolerance is important because it can be used to implement highly-available systems that tolerate arbitrary behaviorfrom faulty components. This paper presents a detailed performance evaluation of BFT, a state-machine replication algorithm that tolerates Byzantine faults in asynchronous systems. Our results contradict the common belief that Byzantine fault tolerance is too slow ...

متن کامل

Recent Results on Fault-Tolerance Consensus in Message-Passing Networks

This paper surveys recent results on fault-tolerant consensus in message-passing networks. We focus on two categories of works: (i) new problem formulations (including input domain, fault model, network model...etc.), and (ii) practical applications. For the second part, we focus on Crash Fault-Tolerant (CFT) systems that use Paxos or Raft, and Byzantine Fault-Tolerant (BFT) systems. We also br...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004